//获取文章列表数据
/* 
pagenum 是 int 页码值
pagesize 是 int 每页显示多少条数据
cate_id 否 string 文章分类的 Id
state 否 string 文章的状态， 可选值有： 已发布、 草稿
*/


// 数据为了方便以后改变定义全局变量
const params = {
    pagenum: 1, //页码
    pagesize: 2, //每页显示的数据
    cate_id: '', //文章分类的id
    state: '' //文章的状态
}

// 文章列表的总数
let total = 0

let flag = false

// 获取列表函数封装
function getList() {
    axios({
        method: 'get',
        url: 'http://api-breakingnews-web.itheima.net/my/article/list',
        headers: {
            'Authorization': localStorage.getItem('token')
        },
        params,
    }).then(res => {


        if (res.data.status === 0) {
            total = res.data.total
            // console.log(total)
            // 更新数据前注意清空
            $('tbody').empty()

            res.data.data.forEach((obj, index) => {
                let theTr = `
                        <tr>
                            <td>${obj.title}</td>
                            <td>${obj.cate_name}</td>
                            <td>${moment(obj.pub_date).format('YYYY-MM-DD hh:mm:ss')}</td>
                            <td>${obj.state}</td>
                            <th>
                            <button myid="${obj.Id}" type="button" class="layui-btn layui-btn-xs layui-btn-danger del">删除</button>
                                </th>
                        </tr>
           `
                $('tbody').append(theTr)

                getPage()
            });
        }
    })

}
getList()
console.log(total)

// 获取文章列表   ==>  选项卡
function getCart() {
    axios({
        method: 'get',
        url: 'http://api-breakingnews-web.itheima.net/my/article/cates',
        headers: {
            'Authorization': localStorage.getItem('token'),

        }

    }).then((res) => {
        console.log(res)

        if (res.data.status === 0) {

            $("select[name=category]").append(`<option value="" lay-verify="cate">所有分类</option>`); // 默认选项- 默认获取所有分类
            res.data.data.forEach((obj, index) => {
                const theOp = `<option value="${obj.Id}" lay-verify="cate">${obj.name}</option>`

                $('select[name="category"]').append(theOp)

                layui.form.render('select', 'category')
            });
        }
    })
}

getCart()




// 筛选功能
$('form').on('submit', function (e) {
    e.preventDefault()

    const category = $('select[name=category]').val()
    const state = $('select[name=state]').val()

    params.cate_id = category
    params.state = state

    getList()
})


// 分页
function getPage() {

    layui.use('laypage', function () {

        var laypage = layui.laypage;
        // 分页渲染
        laypage.render({
            elem: 'page',
            theme: '#1E9FFF',
            count: total,
            curr: params.pagenum,
            limit: params.pagesize,
            limits: [2, 3, 5, 8, 10],
            layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'],
            jump: function (obj, first) {
                //obj包含了当前分页的所有参数，比如：
                console.log(obj.curr); //得到当前页，以便向服务端请求对应页的数据。
                console.log(obj.limit); //得到每页显示的条数


                //首次不执行
                if (!first || flag) {
                    //do something

                    params.pagesize = obj.limit
                    params.pagenum = obj.curr
                    // 重新渲染列表
                    getList()
                    flag = false
                }

            }
        })

    })

}
getPage()


// 删除功能
$('tbody').on('click', '.del', function () {

    const id = $(this).attr('myid')

    axios({
        method: 'get',
        url: `http://api-breakingnews-web.itheima.net/my/article/delete/${id}`,
        headers: {
            'Authorization': localStorage.getItem('token'),
        }
    }).then(function (res) {
        // console.log(res)
        if (res.data.status === 0) {

            layer.msg(res.data.message)

            getList() //重新渲染
        }

    })


})